package com.ruoyi.safe.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.safe.domain.vo.ListRequestVo;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.Max;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@EqualsAndHashCode(callSuper = true)
@Data
public class BizProjectCheckRecordDTO extends ListRequestVo {

    private Long id;

    /**
     * 项目自检id
     */
//    @NotNull(message = "项目自检id不能为空")
    private Long projectCheckId;

    /**
     * 检查时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date checkTime;

    /**
     * 检查人
     */
    private String checkPeople;

    /**
     * 整改期限
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date reviseTheDates;

    /**
     * 原因
     */
    private String reason;

    /**
     * 整改人
     */
    private String revisePeople;

    /**
     * 隐患内容
     */
    private String hiddenMessage;

    /**
     * 责任区域
     */
    private String dutyArea;

    /**
     * 检查类型
     */
    private String checkType;

    /**
     * 分包单位
     */
    private String subpackageUnit;

    /**
     * 分包单位
     */
    private String subpackageUnitIds;

    /**
     * 隐患类别(风险类别)
     */
    private String riskLevel;

    /**
     * 隐患类别(风险类别)
     */
    private String riskFactor;

    /**
     * 补充说明
     */
    private String supplement;

    /**
     * 隐患级别
     */
    private String hiddenClass;

    /**
     * 事故隐患
     */
    private String accidentHidden;

    /**
     * 通知人
     */
    private String notifier;

    /**
     * 整改要求
     */
    private String reviseRequire;

    /**
     * 文件名
     */
    private String fileName;
    /**
     * list
     */

    private List<RecordRegionDTO> list;

    /**
     * 复查人
     */
    private String reviewUserName;

    /**
     * 清单编码
     */
    private String typeNo;

    /**
     * 清单序号
     */
    private String listId;

    /**
     * 隐患状态
     */
    private String hiddenDangerStatus;

    /**
     * 是否罚款
     */
    private String isFine;

    /**
     * 罚款金额
     */
   @Max(value = 999999999999999999L, message = "罚款金额不能超过999999999999999999")
    private BigDecimal fineMoney;

    /**
     * 罚款原因
     */
    private String fineExplain;

}
